/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package app;

import DAO.AreaJpaController;
import DAO.UsuarioJpaController;
import DAO.RolesJpaController;
import DAO.PersonaAtencionJpaController;
import DAO.TicketJpaController;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import modelo.Area;
import modelo.Usuario;
import modelo.Roles;
import modelo.PersonaAtencion;
import modelo.Ticket;

public class test {
    
    public void agregarUsuario(EntityManagerFactory emf){
        UsuarioJpaController controUsuario = new UsuarioJpaController(emf);
        RolesJpaController rols = new RolesJpaController(emf);
        
        Usuario usuario1 = new Usuario();
        
        Roles rolUsuario = rols.findRoles(2);

        usuario1.setNumUsuario(1);
        usuario1.setNombre("palermo");
        usuario1.setCorreo("mexicano@hotmail.com");
        usuario1.setPassword("1q2w3e4r");
        usuario1.setRolNumRol(rolUsuario);
        try {
            controUsuario.create(usuario1);
        } catch (Exception ex) {
            Logger.getLogger(test.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    public void modificarUsuario(EntityManagerFactory emf){
        UsuarioJpaController controUsuario2 = new UsuarioJpaController(emf);
        Usuario usuario2 = controUsuario2.findUsuario(1);
        usuario2.setCorreo("sdsd@hotmail.com");
        try {
            controUsuario2.edit(usuario2);
        } catch (Exception ex) {
            Logger.getLogger(test.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    public void agredarPersonalAtencion(EntityManagerFactory emf){
        //Agregar un nuevo personal de atencion
        AreaJpaController controlArea = new AreaJpaController(emf);
        PersonaAtencionJpaController srA = new PersonaAtencionJpaController(emf);
        RolesJpaController rols = new RolesJpaController(emf);
        PersonaAtencion pAtencion = new PersonaAtencion();

        Roles rolUsuarioAtencion = rols.findRoles(4);
        Area areaUsuarioAtencion = controlArea.findArea(2);

        pAtencion.setNumAtencion(1);
        pAtencion.setNombre("Juan Perez");
        pAtencion.setCorreo("Perez@hotmail.com");
        pAtencion.setTitulo("Lic Informatica");
        pAtencion.setPassword("r4e3w2q1");
        pAtencion.setRolNumRol(rolUsuarioAtencion);
        pAtencion.setAreaNumArea(areaUsuarioAtencion);
        try {
            srA.create(pAtencion);
        } catch (Exception ex) {
            Logger.getLogger(test.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    public void crearTicket(EntityManagerFactory emf){
        // Crear Ticket
        TicketJpaController controlTicket = new TicketJpaController(emf);
        AreaJpaController controlArea2 = new AreaJpaController(emf);
        PersonaAtencionJpaController controPersonal4 = new PersonaAtencionJpaController(emf);
        UsuarioJpaController controUsuario4 = new UsuarioJpaController(emf);
        Ticket ticket = new Ticket();

        Area ticketArea = controlArea2.findArea(2);
        Usuario usuario4 = controUsuario4.findUsuario(1);
        PersonaAtencion pAtencion3 = controPersonal4.findPersonaAtencion(1);

        ticket.setNumTicket(3);
        ticket.setNumArea(ticketArea);
        ticket.setDescripcion("ayuda3!!");
        ticket.setEstado("Abierto");
        ticket.setCalificacion(8);
        ticket.setRespuesta("solucionado el problema3");
        ticket.setUsuarioNumUsuario(usuario4);
        ticket.setAtencionNumPerAtencion(pAtencion3);
        try {
            controlTicket.create(ticket);
        } catch (Exception ex) {
            Logger.getLogger(test.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public static void main(String[] args) throws Exception {
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("DomingoManuelSanchezFloresPU");

        RolesJpaController rols = new RolesJpaController(emf);

        List<Roles> lista = rols.findRolesEntities();

        for (Roles roles : lista) {
            System.out.println(roles.getNumRol() + " " + roles.getRol());
        }
        
        //Lista de tickets por calificacion
        TicketJpaController controlTicket3 = new TicketJpaController(emf);

        List<Ticket> lista2 = controlTicket3.getTicketPorCalificacion(8);

        for (Ticket ticket1 : lista2) {
            System.out.println(ticket1.getNumTicket() + " " + ticket1.getDescripcion() + 
                    " " + ticket1.getRespuesta() + " " + ticket1.getEstado() + 
                    " " + ticket1.getCalificacion() + " ");
            
        }

    }
}
